package co.edu.usbcali.modelo.control;

import co.edu.usbcali.modelo.Preinscripcion;

import java.math.BigDecimal;

import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.Set;

/**
 * 
 * @author Zathura Code Generator http://code.google.com/p/zathura
 * 
 */
public interface IPreinscripcionLogic {
	public List<Preinscripcion> getPreinscripcion() throws Exception;

	public void savePreinscripcion(String cargoPre, String cargoTutorPre,
			String celularTutorPre, String descripcionPre, Long estadoPre,
			Date fechaFinalPre, Date fechaInicioPre, Date fechaPre,
			String laboraPre, String laboresPre, String lugarLaboraPre,
			String nombreTutorPre, String objetivoPre, String telefonoTutorPre,
			String temasPre, Long codigoArea_AreaDesempeno,
			Long codigoEmp_Empresa, Long codPra_Practicante) throws Exception;

	public void deletePreinscripcion(Long codPre) throws Exception;

	public void updatePreinscripcion(String cargoPre, String cargoTutorPre,
			String celularTutorPre, String descripcionPre, Long estadoPre,
			Date fechaFinalPre, Date fechaInicioPre, Date fechaPre,
			String laboraPre, String laboresPre, String lugarLaboraPre,
			String nombreTutorPre, String objetivoPre, String telefonoTutorPre,
			String temasPre, Long codigoArea_AreaDesempeno,
			Long codigoEmp_Empresa, Long codPra_Practicante) throws Exception;

	public void updatePreinscripcion(Long estadoPre, Long codPra_Practicante)
			throws Exception;

	public Preinscripcion getPreinscripcion(Long codPra) throws Exception;

	public List<Preinscripcion> findByCriteria(Object[] variables,
			Object[] variablesBetween, Object[] variablesBetweenDates)
			throws Exception;

	public List<Preinscripcion> findPagePreinscripcion(String sortColumnName,
			boolean sortAscending, int startRow, int maxResults)
			throws Exception;

	public Long findTotalNumberPreinscripcion() throws Exception;
}
